1. Field of the Invention
The present invention relates to a system for integrating software components using a semantic ontology management system. The present invention further relates to a system for integrating disparate, information systems into a service-oriented architecture to provide data interoperability across an enterprise.
2. Background Art
Web service standards are enjoying widespread adoption in corporations across many industries. Corporations are recognizing the value of making it easier for other applications to consume their data by using web standards such as the Hyper Text Transfer Protocol (HTTP), web addressing, and Extensible Markup Language (XML). Using these standards, software clients written in one programming language can access and retrieve information from a server, irrespective of the technology (e.g., hardware, operating system, and programming language) that the server uses.
However, even with the adoption of these web standards, problems remain. For example, although XML is mature as a syntax for web data exchange, current XML technologies do not supply the capabilities provided by more mature technologies like relational database systems. Also, while solutions that aid in web service discovery (e.g., Universal Description, Discovery and Integration (UDDI), as described at http://www.uddi.org/specification.html, incorporated by reference herein) and invocation (e.g., Web Services Description Language (WSDL), as described at http://www.w3.org/2002/ws/desc, incorporated by reference herein) are emerging, they are far from mature. Similarly, technologies that reason with web service description files for the purpose of chaining web services are not available. It is left to the programmer to determine, at design time, which web services to invoke, the order in which they need to be invoked, and the formatting of information necessary to complete an operation. As a result, the programmer writes much of the “glue code” necessary for a particular computation. A need still exists for methods and systems that allow automatic generation of such “glue code,” as well as automatic discovery and integration of available web services and data repositories.
Further, large enterprises are moving towards a service-oriented architecture strategy to make data repositories and web services from one part of the enterprise available for use in another part. However, these service-oriented architectures often fail to address the semantics of individual information systems. The representation of position on a particular information system may lack a reference datum, and hence, position data one information system may not be easily accessed and utilized by other information systems. Another example of such a semantic mismatch is the representation of time on an individual information system, which may lack the essential designation of a time zone. The failure of service-oriented architectures to recognize and address data semantics and semantic mismatches leads not only to execution errors, but also to lengthy testing and integration cycles that find and correct the resulting errors (see Herrera, X., “The bottom line for accurate massed fires: common grid,” Field Artillery Journal, pg. 5-9, January-February 2003, which is incorporated herein by reference).
Existing web service standards are unable to address fully the issues facing modern enterprises during the integration of disparate information systems. Common semantic markup languages (e.g., OWL-S: Semantic Markup Language for Web Services, as described at http://www.w3.org/Submission/OWL-S, incorporated herein by reference) are not sufficiently broad to offer a solution, and existing semantic frameworks (e.g., Web Service Modeling Ontology (WSMO), as described at http://www.w3.org/Submission/WSMO, incorporated herein by reference) are not sufficiently general to address the integration needs imposed by emerging behavior. Further, existing sets of OWL/RDF mappings are likewise insufficiently broad to address the changing needs of the integration process (e.g., Crubezy, et al., “Mediating knowledge between application components”, Semantic Integration Workshop of the Second International Semantic Web Conference (ISWC-03), Sanibel Island, Fla., CEUR, 82.2003, incorporated herein by reference). It is left to the programmer at the time of integration to determine the semantic and contextual mismatches that exist between data representations on multiple information systems, resolve these mismatches, and generate the code that integrates the various information systems across the enterprise. Thus, a need exists for methods and systems to automatically integrate the disparate information systems into a service-oriented architecture that provides data interoperability across the enterprise.
The issues that modern enterprises face while integrating disparate information systems are often exacerbated by an ongoing transition of the internet from a collection of isolated information sources to an accessible network of highly interactive content and rich user interfaces. On the back end, this transition is fueled by the ability of data management systems to instantaneously change database models and to support the automated migration of data instances to updated data models. On the front end, open-source scripting languages are enjoying a renaissance on the web, and the open-source creation of content is a key driver of successful companies.
Further, large corporate and governments enterprises, such as the Department of Defense, are increasingly challenged by the requirements of “netcentricity,” which mandates that stored information be accessible, understandable, and interoperable across an enterprise. Unlike the internet, where data exists in unstructured, text documents, a large portion of the data within the Department of Defense is highly structured and is stored within databases. As such, search engines that depend upon searching text documents, such as Google, often fail within database-reliant enterprises. Thus, the capabilities to index and search metadata are virtually missing within the Department of Defense enterprise, and contractors are often required to work closely with communities-of-interest to provide data interoperability between structured databases on a case-by-case basis.